package pe.com.pgn.consolidadorventas.servidorcentral.dao;

import java.io.Serializable;
import java.util.List;

public interface DatabaseObjectDao {

	public void persist(Object entity);  
	   
	public void persist(Object[] entities);
	
	public void persist(List<?> entities);  
	  
	public <T> T findById(Class<T> entityClass,int id);
	
	public <T> List<T> find(Class<T> entityClass);  
	  
	public <T> T load(Class<T> entityClass, Serializable id);  

	public <T> List<T> findByHqlOrderBy(Class<T> entityClass,String campo,String tipoOrden);

	public <T> List<T> findByHql(String hql);
	
	public <T> List<T> findByProperty(Class<T> entityClass,String property,Object value);
	
	public void delete(Object obj);
	
	public void delete(List<?> lstObj);
	
	public void flush();
	
	public void removeFromCache(Object obj);
	
	public void callProcedureNotResultSet(String procedure);
	  
}
